#pragma once
#include "DXAMLCommon.h"

class CNameBuilder
{
public: 
	CNameBuilder();
	~CNameBuilder();
	void Empty();
	HRESULT SetBase(XUINT32 cPrefix, XCHAR * pPrefix, XUINT32 cName, XCHAR * pName);
	HRESULT AppendName(XUINT32 cPrefix, XCHAR * pPrefix, XUINT32 cName, XCHAR * pName);
	void GetName(XUINT32 * pcName, XCHAR * * ppName);
private: 
	HRESULT EnsureBuffer(XUINT32 cLimit);
	XUINT32 m_cBase;
	XUINT32 m_cName;
	XUINT32 m_cLimit;
	XCHAR * m_pName;
};